home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Programming / DiceSource / include / math.h < prev    next >
C/C++ Source or Header  |  1994-02-01  |  4KB  |  179 lines

  1.  
  2. /*
  3.  * $VER: math.h 1.0 (17.4.93)
  4.  *
  5.  * (c)Copyright 1992 Obvious Implementations Corp, All Rights Reserved
  6.  */
  7.  
  8. #ifndef MATH_H
  9. #define MATH_H
  10.  
  11. #ifndef ERRNO_H
  12. #define EDOM        1        /*  repeated in errno.h */
  13. #define ERANGE        2        /*  repeated in errno.h */
  14. #endif
  15. #define HUGE_VAL    1.0e300
  16.  
  17. /*
  18.  *  Math Constants
  19.  */
  20.  
  21. #define M_E        2.7182818284590452354
  22. #define M_LOG2E     1.4426950408889634074
  23. #define M_LOG10E    0.43429448190325182765
  24. #define M_LN2        0.69314718055994530942
  25. #define M_LN10        2.30258509299404568402
  26. #define M_PI        3.14159265358979323846
  27. #define M_PI_2        1.57079632679489661923
  28. #define M_PI_4        0.78539816339744830962
  29. #define M_1_PI        0.31830988618379067154
  30. #define M_2_PI        0.63661977236758134308
  31. #define M_2_SQRTPI    1.12837916709551257390
  32. #define M_SQRT2     1.41421356237309504880
  33. #define M_SQRT1_2    0.70710678118654752440
  34.  
  35.                 /*    FLOAT MATH ROUTINES */
  36. #ifdef _FFP_FLOAT
  37. #define fexp    _ffpexp
  38. #define ffrexp    _ffpfrexp
  39. #define fldexp    _ffpldexp
  40. #define flog    _ffplog
  41. #define flog10    _ffplog10
  42. #define fmodf    _ffpmodf
  43. #define fcosh    _ffpcosh
  44. #define fsinh    _ffpsinh
  45. #define ftanh    _ffptanh
  46. #define fceil    _ffpceil
  47. #define ffabs    _ffpabs
  48. #define ffloor    _ffpfloor
  49. #define ffmod    _ffpmod
  50. #define fpow    _ffppow
  51. #define fsqrt    _ffpsqrt
  52. #define facos    _ffpacos
  53. #define fasin    _ffpasin
  54. #define fatan    _ffpatan
  55. #define fatan2    _ffpatan2
  56. #define fcos    _ffpcos
  57. #define fsin    _ffpsin
  58. #define ftan    _ffptan
  59. #endif
  60.  
  61. #ifdef _SP_FLOAT
  62. #define fexp    _spexp
  63. #define ffrexp    _spfrexp
  64. #define fldexp    _spldexp
  65. #define flog    _splog
  66. #define flog10    _splog10
  67. #define fmodf    _spmodf
  68. #define fcosh    _spcosh
  69. #define fsinh    _spsinh
  70. #define ftanh    _sptanh
  71. #define fceil    _spceil
  72. #define ffabs    _spabs
  73. #define ffloor    _spfloor
  74. #define ffmod    _spmod
  75. #define fpow    _sppow
  76. #define fsqrt    _spsqrt
  77. #define facos    _spacos
  78. #define fasin    _spasin
  79. #define fatan    _spatan
  80. #define fatan2    _spatan2
  81. #define fcos    _spcos
  82. #define fsin    _spsin
  83. #define ftan    _sptan
  84. #endif
  85.  
  86. extern float    fexp(float);
  87. extern float    ffrexp(float, int *);
  88. extern float    fldexp(float, int);
  89. extern float    flog(float);
  90. extern float    flog10(float);
  91. extern float    fmodf(float, float *);
  92.  
  93. extern float    fcosh(float);
  94. extern float    fsinh(float);
  95. extern float    ftanh(float);
  96.  
  97. extern float    fceil(float);
  98. extern float    ffabs(float);
  99. extern float    ffloor(float);
  100. extern float    ffmod(float, float);
  101.  
  102. extern float    fpow(float, float);
  103. extern float    fsqrt(float);
  104.  
  105. extern float    facos(float);
  106. extern float    fasin(float);
  107. extern float    fatan(float);
  108. extern float    fatan2(float, float);
  109. extern float    fcos(float);
  110. extern float    fsin(float);
  111. extern float    ftan(float);
  112.  
  113.                 /*  DOUBLE MATH ROUTINES (STANDARD) */
  114.  
  115. extern double    exp(double);
  116. extern double    frexp(double, int *);
  117. extern double    ldexp(double, int);
  118. extern double    log(double);
  119. extern double    log10(double);
  120. extern double    modf(double, double *);
  121.  
  122. extern double    cosh(double);
  123. extern double    sinh(double);
  124. extern double    tanh(double);
  125.  
  126. extern double    ceil(double);
  127. extern double    fabs(double);
  128. extern double    floor(double);
  129. extern double    fmod(double, double);
  130.  
  131. extern double    pow(double, double);
  132. extern double    sqrt(double);
  133.  
  134. extern double    acos(double);
  135. extern double    asin(double);
  136. extern double    atan(double);
  137. extern double    atan2(double, double);
  138. extern double    cos(double);
  139. extern double    sin(double);
  140. extern double    tan(double);
  141.  
  142. #ifndef STDLIB_H
  143. extern double atof(const char *);
  144. extern double strtod(const char *, char **);
  145. #endif
  146.  
  147.  
  148.                 /*  LONG DOUBLE MATH ROUTINES    */
  149.  
  150. extern long double lexp(long double);
  151. extern long double lfrexp(long double, int *);
  152. extern long double lldexp(long double, int);
  153. extern long double llog(long double);
  154. extern long double llog10(long double);
  155. extern long double lmodf(long double, long double *);
  156.  
  157. extern long double lcosh(long double);
  158. extern long double lsinh(long double);
  159. extern long double ltanh(long double);
  160.  
  161. extern long double lceil(long double);
  162. extern long double lfabs(long double);
  163. extern long double lfloor(long double);
  164. extern long double lfmod(long double, long double);
  165.  
  166. extern long double lpow(long double, long double);
  167. extern long double lsqrt(long double);
  168.  
  169. extern long double lacos(long double);
  170. extern long double lasin(long double);
  171. extern long double latan(long double);
  172. extern long double latan2(long double, long double);
  173. extern long double lcos(long double);
  174. extern long double lsin(long double);
  175. extern long double ltan(long double);
  176.  
  177. #endif
  178.  
  179.